<!DOCTYPE html>
<html lang="en">
    <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <meta content="Bmob,BmobCloud,bomb,BaaS,mBaaS,PaaS,Serverless,FaaS,Function as a Service,Backend as a Service,serverless computing,cloud function,后端云,bmob后端云,小程序云,小程序后端,云数据库,云存储,文件存储,云函数,云端代码,定时任务,游戏后端,游戏云,用户系统,无服务器函数,移动开发,app开发,小程序开发,云端一体化,互联网中间件" name="keywords"/>
            <meta content="国内首家专注于移动应用Serverless云服务的平台,Bmob后端云让移动开发更简单,全方位一体化的后端服务平台" name="description"/>
            
            
            
            <link rel="shortcut icon" href="../../img/favicon.ico">
        
        <script type="text/javascript" src="//game.bmob.cn/static/doc_union.js"></script>
            <!--
            <title>数据安全 - Bmob文档中心</title>
            -->
            <title>数据安全 – Bmob后端云 </title>        
            
            <link href="../../css/bootstrap-custom.min.css" rel="stylesheet">
            <link href="../../css/font-awesome-4.5.0.css" rel="stylesheet">
            <link href="../../css/base.css" rel="stylesheet">
            <link rel="stylesheet" href="../../css/highlight.css">
            <link href="../../css/agate.css" rel="stylesheet">
            <link href="../../css/custom.css" rel="stylesheet" id="custom">
    </head>

    <body >

        <div class="navbar navbar-fixed-top" role="navigation">
    <div class="main-nav">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <a class="navbar-brand" href="../..">
                <!--Bmob文档中心-->
                <img src="../../img/logo.png" alt="">
            </a>
        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">

          <ul class="nav navbar-nav">
            
              <li class="pull-left">
                
					<a href="../..">文档首页</a>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="">数据服务</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">数据服务 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
								<li >
									<a href="../../data/android/">Android</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/ios/">iOS</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/csharp/">C#</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/php/">PHP</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/go/">GO</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/restful/">REST API</a>
                                </li>
                            
                            
								<li >
									<a href="../../data/wechat_app_new/rm/">JavaScript</a>
                                </li>
                            
                            
                                <li >
                                    <a href="../../data/cocos2d_x/">Cocos2D-X</a>
                                </li>
							
                            
								<li >
									<a href="../../data/wechat_app/">小程序</a>
                                </li>
                            
                            
                                <li >
                                    <a href="../../data/wechat_app_new/">快应用</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../data/wechat_app_new/">Nodejs</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../data/wechat_app_new/">Cocos Creator</a>
                                </li>
							
                            
								<li >
									<a href="../../data/wechat_app_new/rm/">小程序(新)</a>
                                </li>
                            
                            
                                <li >
                                    <a href="../../data/kotlin/">Kotlin</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../data/python/">Python</a>
                                </li>
							
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="../../cloud_function/android/">云函数</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">云函数 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
                                <li >
                                    <a href="../../cloud_function/android/">Android</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/ios/">iOS</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/java/">Java</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/python/">Python</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/csharp/">C#</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/php/">PHP</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/javascript/">JavaScript</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../cloud_function/restful/">REST API</a>
                                </li>
							
                            
								<li >
									<a href="../../cloud_function/web/">Web</a>
                                </li>
                            
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="../../sms/android/">短信服务</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">短信服务 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
                                <li >
                                    <a href="../../sms/android/">Android</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../sms/ios/">iOS</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../sms/php/">PHP</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../sms/javascript/">JavaScript</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../sms/restful/">REST API</a>
                                </li>
							
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="">游戏实时后端</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">游戏实时后端 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
								<li >
									<a href="../../game/unity/quick_start/">Unity</a>
                                </li>
                            
                            
								<li >
									<a href="../../game/cocos_creator/quick_start/">Cocos Creator</a>
                                </li>
                            
                            
								<li >
									<a href="../../game/wechat_games/quick_start/">微信小游戏</a>
                                </li>
                            
                            
                                <li >
                                    <a href="../../game/cloud_function/develop_doc/">云函数</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../game/classic_case/">经典案例</a>
                                </li>
							
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="">即时通讯</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">即时通讯 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
								<li >
									<a href="../../im/android/">Android</a>
                                </li>
                            
                            
								<li >
									<a href="../../im/ios/">iOS</a>
                                </li>
                            
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left">
                
					<!--<a href="../../push/android/">推送服务</a>-->
					<li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">推送服务 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
                                <li >
                                    <a href="../../push/android/">Android</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../push/ios/">iOS</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../push/php/">PHP</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../push/javascript/">JavaScript</a>
                                </li>
							
                            
                                <li >
                                    <a href="../../push/restful/">REST API</a>
                                </li>
							
                        </ul>
                    </li>
                
              </li>
            
              <li class="pull-left active">
                
					<!--<a href="../common_problem/">其他</a>-->
					<li class="dropdown active">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown">其他 <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            
                                <li >
                                    <a href="../common_problem/">常见问题</a>
                                </li>
							
                            
                                <li >
                                    <a href="../error_code/">错误码</a>
                                </li>
							
                            
                                <li class="active">
                                    <a href="./">数据安全</a>
                                </li>
							
                            
                                <li >
                                    <a href="../bql/">BQL</a>
                                </li>
							
                        </ul>
                    </li>
                
              </li>
            
              <li>
                  <a href="https://www.bmob.cn/repository/index" target="_blank">知识库</a>
              </li>
              <li>
                  <a href="http://doc.bmob.cn/video/index.html" target="_blank">视频教程</a>
              </li>
            </ul>
            
        </div>
    </div>
</div>

        <div class="pagebody" id="main-wrapper">
            <div class="sidebar">
                <div class="bs-sidebar hidden-print affix well" role="complementary">

	
		
	
		
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
		
	
		
				
				
				
				
				
				
				
				
				
		
	
		
				
				
				
				
				
		
	
		
				
				
				
				
				
		
	
		
				
				
		
	
		
				
				
				
				
				
		
	
		
				
				
				
					<div class="code-title">数据安全</div>
				
				
		
	


	<ul class="nav bs-sidenav">
		
			
		
			
		
			
		
			
		
			
		
			
		
			
		
			
				
					
						
					
						
					
						
							
								
									
										<li class="active "><a href="#_1">简介</a>
											
										</li>
									
										<li class=""><a href="#_2">传输层面</a>
											
										</li>
									
										<li class=""><a href="#_3">应用层次</a>
											
										</li>
									
										<li class=""><a href="#_4">表层次</a>
											
										</li>
									
										<li class=""><a href="#acl">ACL和角色</a>
											
										</li>
									
										<li class=""><a href="#_5">发布层次</a>
											
										</li>
									
								
							
						
					
						
					
				
			
		
	</ul>
</div>
            </div>
            <div class="content" role="main">
                <div class="wrap">
                    

<h2 id="_1">简介<a class="headerlink" href="#_1" title="Permanent link">&para;</a></h2>
<p>数据安全是软件系统中最重要的组成部分，为了更好的保护应用数据的安全，Bmob在软件架构层面提供了传输层面、应用层次、表层次、ACL（Access Control List：访问控制列表）、角色管理（Role）、发布层次等不同粒度的权限控制的方式，确保用户数据的安全。</p>
<h2 id="_2">传输层面<a class="headerlink" href="#_2" title="Permanent link">&para;</a></h2>
<p>Bmob SDK对数据进行了加密封装，采用<code>requestId</code> + <code>timestamp</code> + <code>Application Key</code> 的一次性对称加密算法和服务端主动防御的技术，确保数据在传输过程中能够不被Fiddler、Wireshark等抓包工具恶意抓取进行分析破坏。</p>
<h2 id="_3">应用层次<a class="headerlink" href="#_3" title="Permanent link">&para;</a></h2>
<p>在创建应用时Bmob会自动给每个应用分配三个Key，分别是Application Key, 、REST API Key 、Master Key（这些Key可以在开发者后台对应应用的“应用密钥”中找到）。</p>
<ul>
<li>
<p>Application Key 应用程序Key：
主要是iOS/Android/Unity/Cocos2d-x等SDK开发测试和发布时，用于请求、数据的凭证。</p>
</li>
<li>
<p>REST API Key：
主要是REST API接口开发测试和发布时，用于请求数据的凭证。</p>
</li>
<li>
<p>Master Key：
超级权限Key，开发者内部使用，使用此Key请求数据，表、对象、ACL等其他层次的权限不起作用（<strong>请妥善保管Master Key，不要泄露</strong>）。</p>
</li>
</ul>
<h2 id="_4">表层次<a class="headerlink" href="#_4" title="Permanent link">&para;</a></h2>
<p>Bmob在表权限管理方面可以设置该表只读还是使用ACL的权限（设置方法：登录开发者后台-&gt;选择某个应用-&gt;数据-&gt;选择某个需要设置权限的表-&gt;点击“更多”-&gt;点击“权限设置”，如下图）。</p>
<p><img alt="" src="./image/readonly.png" /></p>
<p>表的只读权限设置非常有价值，比如，你用Bmob开发了一款新闻应用，或者是一个广告墙应用，或者是有排行榜功能的某款游戏，你肯定不希望黑客或者竞争对手通过破解你的应用获取了App Key就可以做出毁灭性破坏。换言之，你希望这些表是只读的，这时候，Bmob的表只读权限的价值就体现出来了。</p>
<p>此外，由于默认情况下，SDK可以创建任何表，因此Bmob还提供了一个功能：是否允许SDK动态建表。这在一定程度上也给破坏者带来了破坏的困难。设置的方法如下图所示：</p>
<p><img alt="" src="./image/sdk.png" /></p>
<h2 id="acl">ACL和角色<a class="headerlink" href="#acl" title="Permanent link">&para;</a></h2>
<p>最灵活的方法是通过ACL和角色，它的思路是每一个对象有一个用户和角色的列表，以及这些用户和角色拥有什么样的许可权限。</p>
<p>大多数应用程序需要对不同的数据进行灵活的访问和控制，这就可以使用Bmob提供的ACL模式来实现。例如：</p>
<ul>
<li>对于私有数据，读写权限可以只局限于数据的所有者。</li>
<li>对于一个论坛，会员和版主有写的权限，一般的游客只有读的权限。</li>
<li>对于日志数据只有开发者才能够访问，ACL可以拒绝所有的访问权限。</li>
<li>属于一个被授权的用户或者开发者所创建的数据，可以有公共的读的权限，但是写入权限仅限于管理者角色。</li>
<li>一个用户发送给另外一个用户的消息，可以只给这些用户赋予读写的权限。</li>
</ul>
<p>用Bmob SDK，你可以对这些数据设置一个默认的ACL，这样，即使黑客反编译了你的应用，获取到Application Key，也仍然无法操作和破坏你的用户数据，确保了用户数据的安全可靠。而作为开发者，当你需要对这些数据进行管理时，可以通过超级权限Key（Master Key）进行。</p>
<p><img alt="" src="./image/acl.png" /></p>
<h2 id="_5">发布层次<a class="headerlink" href="#_5" title="Permanent link">&para;</a></h2>
<p>当APP进入发布阶段，你可以做更多的工作，防止某些不法人士破解了你的APP，获取Application KEY，而随意更改里面的数据。需要做的事情非常简单，你只需要进入到这个APP的Bmob后台，依次点击“应用设置-&gt;安全认证”，将APP的签名/Bundle ID信息填写在里面，就可以确保数据的安全。如下图：</p>
<p><img alt="" src="./image/safesetting.png" /></p>
<p>如果你的APP已经处于发布状态，也开启了安全认证，那么，当你需要对这个APP进行调试时，要把调试时的网络IP加到IP白名单上面。这样的话，这个IP就能够绕过安全认证进行操作。有点繁琐，但为了确保你的数据安全，Bmob后端云建议你进行相应的操作。</p>
<p>另外，你也可以启用“数据安全开关”，当开启了数据安全开关后，只有登录的用户才能对数据表进行读写。</p>
                </div>
            </div>
        </div>

        
            <script>var base_url = '../..';</script>
            <script src="../../js/jquery-1.10.2.min.js"></script>
            <script src="../../js/bootstrap-3.0.3.min.js"></script>
            <script src="../../js/highlight.pack.js"></script>
            <script src="../../js/main.js"></script>
            <script src="../../js/base.js"></script>

        <div id="go-top"><i class="fa fa-chevron-up"></i></div>
        <a href="https://docs.bmob.cn/data/Android/a_faststart/doc/index.html" id="back" target="_blank">返回 <br> 旧版</a>
    </body>

</html>